import { request } from "../../request/index.js";
Page({

    /**
     * 页面的初始数据
     */
    data: {
        tabs: [
            { id: 0, value: "综合", isActive: true },
            { id: 1, value: "销量", isActive: false },
            { id: 2, value: "价格", isActive: false }],
        goodsList: []
    },
    // 接口要的参数
    QueryParams: {
        query: "",
        cid: "",
        pagenum: 1,
        pagesize: 10,
    },
    // 总页数，默认是0
    totalPages: 0,
    onLoad: function (options) {
        console.log(options);
        this.QueryParams.cid = options.cid;
        this.getGoodsList()
    },
    // 定义请求分类数据的方法
    getGoodsList() {
        request({ url: "/goods/search", data: this.QueryParams })
            .then(res => {
                // 停止下拉刷新效果
                wx.stopPullDownRefresh(); 
                // console.log(res);
                // 获取总条数
                const total = res.data.message.total;
                // 计算总页数
                this.totalPages = Math.ceil(total / this.QueryParams.pagesize);
                this.setData({
                    goodsList: [...this.data.goodsList, ...res.data.message.goods]
                })
            });
    },
    handleTabsItemChange(e) {
        // 取得传递过来的tab的索引号
        const { index } = e.detail
        // let tabs=this.data.tabs;
        let { tabs } = this.data;
        tabs.forEach((v, i) => i === index ? v.isActive = true : v.isActive = false);
        this.setData({
            tabs
        })

    },
    // 页面上滑， 滚动条触底事件
    onReachBottom() {
        // 1. 判断还有没有下一个数据
        if (this.QueryParams.pagenum >= this.totalPages) {
            // 没有下一页数据
            wx.showToast({
                title: '没有下一页数据'
            });
        } else {
            // 还有下一个数据
            wx.showToast({
                title: '正在加载下一页数据...'
            });
            this.QueryParams.pagenum++;
            this.getGoodsList();
        }

    },
      /**
        * 页面相关事件处理函数--监听用户下拉动作
        * 下拉刷新页面
        1 触发下拉刷新事件 需要在页面的json文件中开启一个配置项
            找到 触发下拉刷新的事件
        2 重置 数据 数组 
        3 重置页码 设置为1
        4 重新发送请求
        5 数据请求回来 需要手动的关闭 等待效果
        */
    onPullDownRefresh() {
        //1.重置数组数据
        this.setData({
            goodsList:[]
        });
        // 2.重置页码
        this.QueryParams.pagenum=1;
        // 3.发送网络请求
        this.getGoodsList();
    },
})